xen/gic: EOI irqs on the right pcpu
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Tue, 7 May 2013 13:33:08 +0000 (14:33 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 8 May 2013 10:06:26 +0000 (11:06 +0100)
commitfd13be77430baefbc9fd823a60085341242c24d2
tree27ac4bee645962bc6d901151d8cbc1f77dad6ada
parent68385d841171d46985e2c41d751a2b81b3b3813b
xen/gic: EOI irqs on the right pcpu

We need to write the irq number to GICC_DIR on the physical cpu that
previously received the interrupt, but currently we are doing it on the
pcpu that received the maintenance interrupt. As a consequence if a
vcpu is migrated to a different pcpu, the irq is going to be EOI'ed on
the wrong pcpu.

This covers the case where dom0 vcpu0 is running on pcpu1 for example
(you can test this scenario by using xl vcpu-pin).

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/gic.c
xen/arch/arm/irq.c
xen/include/asm-arm/irq.h